package com.xz.knowledgeDuplication.pattern.template;

/**
 * 抽象类
 *
 * @author 召
 * @date 2022-03-21 21:03:02
 */
public abstract class AbstractClass {

    /**
     * 烹饪步骤(具体方法)
     */
    public final void cookProcess() {
        //第一步：倒油
        this.pourOil();
        //第二步：热油
        this.heatOil();
        //第三步：倒蔬菜
        this.pourVegetable();
        //第四步：倒调味料
        this.pourSauce();
        //第五步：翻炒
        this.fry();
    }

    /**
     * 倒油(具体方法)
     */
    public void pourOil() {
        System.out.println("倒油");
    }

    /**
     * 热油(具体方法)
     */
    public void heatOil() {
        System.out.println("热油");
    }

    /**
     * 倒蔬菜(抽象方法)
     */
    public abstract void pourVegetable();

    /**
     * 倒调味料(抽象方法)
     */
    public abstract void pourSauce();

    /**
     * 翻炒(具体方法)
     */
    public void fry() {
        System.out.println("炒啊炒啊炒到熟啊");
    }
}
